#include "SGPCLDownSample.h"

namespace sgpcl
{
SGDownSampleConfig::SGDownSampleConfig()
  : SGPCLJsonConfig()
  , fVoxelSize(0.02f)
{
}

void SGDownSampleConfig::ParseJson(const rapidjson::Value& sJsonRoot)
{
  SGPCLJsonConfig::ParseJson(sJsonRoot, "下采样");

  // 降采样体素大小
  rapidjson::Value::ConstMemberIterator itMember = sJsonRoot.FindMember("VoxelSize");
  if (itMember != sJsonRoot.MemberEnd())
  {
    fVoxelSize = itMember->value.GetFloat();
  }
  else
  {
    SG_LOG("未指定\"降采样体素大小\"，采用默认值\"" + std::to_string(fVoxelSize) + "\"");
  }
}

}
